package com.sc.study.exam.service;

import java.text.ParseException;
import java.util.List;
import com.sc.study.exam.domain.ScStudentTestexam;
import com.sc.study.exam.domain.ScTestexam;

/**
 * 学生试卷Service接口
 * 
 * @author sc
 * @date 2022-03-16
 */
public interface IScStudentTestexamService 
{

    /**
     * 查询学生试卷列表
     * 带出学生和 试卷
     * @param scStudentTestexam 学生试卷
     * @return 学生试卷
     */
    List<ScStudentTestexam> selectScStudentTestexamByStudentAndTextExam(ScStudentTestexam scStudentTestexam);
    /**
     * 查询学生试卷
     * 
     * @param id 学生试卷主键
     * @return 学生试卷
     */
    public ScStudentTestexam selectScStudentTestexamById(Long id);

    /**
     * 查询学生试卷列表
     * 
     * @param scStudentTestexam 学生试卷
     * @return 学生试卷集合
     */
    public List<ScStudentTestexam> selectScStudentTestexamList(ScStudentTestexam scStudentTestexam);

    /**
     * 新增学生试卷
     * 
     * @param scStudentTestexam 学生试卷
     * @return 结果
     */
    public int insertScStudentTestexam(ScStudentTestexam scStudentTestexam);

    /**
     * 修改学生试卷
     * 
     * @param scStudentTestexam 学生试卷
     * @return 结果
     */
    public int updateScStudentTestexam(ScStudentTestexam scStudentTestexam);

    /**
     * 批量删除学生试卷
     * 
     * @param ids 需要删除的学生试卷主键集合
     * @return 结果
     */
    public int deleteScStudentTestexamByIds(Long[] ids);

    /**
     * 删除学生试卷信息
     * 
     * @param id 学生试卷主键
     * @return 结果
     */
    public int deleteScStudentTestexamById(Long id);

    /**
     * 根据考试编号和学生进行删除
     * @param testExamId 考试编号
     * @param studentIds 学生编号集合
     * @return
     */
    int removeByTestExamIdAndStudentId(Integer testExamId, Integer[] studentIds);

    /**
     * 批量添加
     * @param scStudentTestExamList
     * @return
     */
    int batchAdd(List<ScStudentTestexam> scStudentTestExamList);

    /**
     * 批量添加 scTestExam 里面必须携带学生id集合
     * @param scTestExam 里面必须携带学生id集合
     * @return
     */
    int batchAddByStudentIds(ScTestexam scTestExam);

    /**
     * 导入excel: 批量添加
     * @param importTestExamId
     * @param studentTestExamList
     * @return
     */
    int excelImportBatchAdd(Long importTestExamId, List<ScStudentTestexam> studentTestExamList);

    Long getIdByStudentAndTextExam(Long studentId, Long testExamId);
}
